package Htp;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

/**
 *
 * HttpServletRespond类的作用
 * HttpServletRespond类和HttpServletRequest类一样。每次请求进来，Tomcat服务器都会创建一个Respond对象
 * 传递给Servlet程序用。HttpServletRequest表示请求过来的信息，HttpServletRespond表示所有响应的信息，
 * 我们如果需要设置返回给客户端的信息，都可以通过HttpServletRespond对象来进行设置
 *
 * 字节流 getOutputStream();  常用于下载(传递二进制数据)
 * 字符流 getWriter();        常用于回传字符串(常用)
 * 2个流选一个使用，同时使用则报错
 *
 *
 *
 */
public class HttpServletRespondTest extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
     //2个流选一个使用，同时使用则报错
//        resp.getOutputStream();
        //此时由于浏览器默认的字符集是GBK，所以仍然乱码
//        resp.setCharacterEncoding("utf-8");
//        //可以通过响应头，设置浏览器也使用utf-8 重点
//        resp.setHeader("Content-Type","text/html;charset=utf-8");
        //它会同时设置服务器和客户端都使用utf-8，还设置了响应头
        //此方法一定要在获取流对象之前调用才有效
        resp.setContentType("text/html;charset=utf-8");
        System.out.println(resp.getCharacterEncoding());
        PrintWriter writer = resp.getWriter();
        writer.write("您好，欢迎来到");

    }
}
